home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
United Public Domain Gold 2
/
United Public Domain Gold 2.iso
/
music_utilities
/
pt123.dms
/
pt123.adf
/
MPMASTER
/
ENGLISH
/
MPMaster.DOC
< prev
next >
Wrap
Text File
|
1994-09-04
|
11KB
|
291 lines
MIDI Packet Master © 1993 WareSoft All rights reserved
by Antonio J. Pomar Rosselló
DISTRIBUTION
This program is FreeWare. The program can be freely distributed provided
that all the associated files are distributed with the program itself. Neither
the program nor their associated files must be modified in any way. The
complete distribution package can be compressed with LHA, LHarc or similar
for distribution convenience. No charge must be made for use or distribution
of this package.
The complete English distribution package contains:
MPMaster Executable program.
MPMaster.DOC This file.
MPMaster.HISTORY History of versions released since v1.0.
MPMaster.SCHEME Electronic scheme of a very simple MIDI interface.
This software is provided 'AS IS' without warranty of any kind, either
expressed or implied. By using this package you agree to accept the entire risk
as to the quality and performance of the program and of the MIDI interface
described in MPMAster.SCHEME.
All trademarks and Copyrights of products mentioned in this document are
acknowledged by the author.
As you can see, within the package there is an IFF screen that shows the
scheme of a very simple MIDI interface that you can build to use with your
computer. This interface was developed originally 6 years ago for a sequencer
programmed in assembler for my Sinclair Spectrum +3. This circuit is so small
that can be placed inside the case of the DB-25 connector (the Spectrum version
of the interface fitted inside a DB-9 case). Is strictly prohibited the use of
this circuit for commercial purposes, that means that the interface must be
built for personal use only.
REQUIREMENTS
This program needs WorkBench 2.04 (version 37) or higher to run.
Eventually you will need a MIDI interface and one or more MIDI devices to
connect with the computer.
INTRODUCTION
This program is called MIDI Packet Master (MPMaster for short) and its main
purpose is to transmit/receive samples between an Amiga computer an a MIDI
device that supports this kind of transference (originally programmed for use
with a Yamaha SY85 synthesizer).
MIDI STANDARD
The MIDI Sample Dump Standard splits the sample in small packets (127 bytes)
that are transmitted sequentially to the destination MIDI device. This slows
down the transference but allows error correction without repeating the whole
sample.
The main characteristics of this standard are:
- Maximum sample size: 2 million sample units
- Sample resolution: 8, 12 or 16 bits
- Any MIDI channel can be used (1 to 16).
- Transmission of loop parameters.
- Control over placing of sample over the keyboard (period).
Actually I don't know how works the 'Period' parameter, and the SY85 manual
is not very explicit about the subject. If you know how it works please send
me the information for a better implementation of the standard in the program.
Consult the user's manual of your MIDI equipment for details about
implementation and use of MIDI Sample Dump Standard.
THE STANDARD IN THE PROGRAM
The program can transmit and receive samples via MIDI. The main
characteristics are:
Reception:
- Reception channel selectable (1-16)
- Any sample resolution from 8 to 21 bits.
- The program only saves in RAW 8 bits format.
- Display all characteristics of sample received.
- Detect receive errors, but don't support error retrieval yet.
- Reception can be aborted.
Transmission:
- Transmission channel selectable (1-16), independent of receive channel.
- Manual adjustment of loop parameters (start, end and type).
- Sample is transmitted always in 8 bits format.
- Transmission can be aborted.
The implementation of the standard in the program is very basic, due to the
limited information that I have about this standard.
USE OF PROGRAM
The program must be launched from WorkBench, because of the options saved
inside the program's icon. If you run it from SHELL any of those options will
be loaded. Anyway, the program will detach itself from the SHELL window and
will run with the internal default values.
Any hardware resource used by the program is allocated through the OS, that
means, 'legally'.
Be careful about multi-tasking with programs that access to the hardware
directly, like the Dr T's KCS sequencer, because can interfere the use of this
hardware. Usually this turns crazy the MIDI device connected with the computer.
Anyway this case is not very usual. Even not 'professional' programs like
Protracker 2.3 allocates correctly the serial hardware.
Any kind of problem while starting the program will be reported with a
requester and then the program will exit.
The ToolTypes that can be placed in the icon are:
WB_REQUESTER With this the program will open the filerequester
in the WorkBench.
PATTERN= Here we can put a pattern for the filerequester.
DIR= This is the default path where will be opened the
filerequester.
FREC= Sets de default play speed for RAW samples.
MAXFREC= Sets the maximum play speed allowed. Initially is
28867 but this may change in future chip sets.
The WB_REQUESTER option is suitable for filerequesters that are AppWindows,
that is, icons can be dropped inside the filerequester.
PROGRAM'S SCREEN
The program's screen is divided in 4 main parts:
TRANSMISSION: Here we can control the parameters transmitted to the MIDI
device. The gadgets are:
Select.- Open the filerequester for select a RAW or IFF sample for
transmission. When selected the sample all other gadgets will be
set at the proper values.
Frequency.- This is the playing speed of sample when we click over the
'Play' gadget.
Waveform.- This must set the number assigned to the sample inside of
the MIDI device. In the SY85 this sets the WAVEFORM where the sample
will be placed.
Loop start, Loop end, Loop Type.- This is the loop margin and type.
Transmit.- Sends the sample currently selected. The sample is transmitted
directly from disk. That means that you are not limited by the memory you
have.
X.- Clears the TRANSMISSION zone.
RECEPTION: Here we can see the details about the sample received. The 3
gadgets are:
Receive.- The program waits for a sample to receive. Can de aborted with
the stop gadget or with the space bar. The sample is placed in memory,
so here you are limited to the amount of memory available in one
continuous block.
Save sample.- If a sample have been received you can save it in RAW8 format.
X.- Clears the reception zone and frees the memory allocated for sample.
CHANNELS: Here you can set the IN/OUT channels. The 'omni' receive channels
means that all input channels will be read.
LOWER ZONE: This is the message zone. There are two gadgets that allows
to play the sample selected.
MENUS AND KEYBOARD
All gadgets with an underlined character means that pressing that character
on the keyboard is equal to press the gadget itself. The space bar is
equivalent to the STOP!! gadget. The HELP key will show the 'About' requester
and the 'Esc' key will quit the program. With the TAB key you can move from one
Integer gadget to the next, and Shift+TAB will move to the previous Integer
gadget.
In the menu you can find the 'About...' and 'Quit' options, that don't have
equivalent gadget.
TECHNICAL DATA
Program written in assembler and accessing 'legally' to the hardware. Is
stable and allows complete multi-tasking, even when transmitting/receiving.
Programmed in an Amiga 500 Plus with 2 Meg of RAM, 3 disk drives and Devpac
3.02 assembler. This is my first program that does multi-task and the second
that I write in assembler.
Initially developed for use with a friend's Yamaha SY85 synthesizer.
FUTURE IMPROVEMENTS
These are the improvements that I would like to do:
- Transmit/receive simultaneously.
- Receive direct to hard disk, avoiding the memory limitations.
- AREXX port for control of other programs from MPMaster or vice versa.
- Option for change the transmit/receive speed (currently 31250) for
transfers between computers or with high speed MIDI interfaces.
- Labels for each IN/OUT channel. This is for better using in MIDI
environments with lots of different devices, each one using one MIDI
channel.
- Use of powerpacker.library for compress/decompress samples.
- Allocate of serial hardware only during transmit/receive.
- Support for different sample formats (8 or more bits).
- Support of Fibonacci compression in reading of IFF samples.
- Save icons with the sample containing the received parameters.
- On line help (if anyone thinks that the program is difficult to use).
- Separate filerequesters for Load and Save, storing the last path used
in each one.
- Batch sending of samples from scripts.
- Optional use of error retrieval messages.
- Graphical edit of loop margin.
- Multilingual support with locale.library.
Anyway I don't know if I will implement these improvements in the program,
depending of the information that I can get about MIDI standard and system
libraries. Actually I don't use this program because I am not a musician nor
I have a synthesizer.
ACKNOWLEDGMENTS
I wish to thank to:
- Fco Javier Cocaña Galán, Leonardo Cocaña Galán and Juan A. Estela Valín
for their friendship and suggestions.
- Commodore-Amiga Inc for create the very best computer in the world.
- Motorola for their powerful and flexible microprocessors.
- Nico François for create the wonderful reqtools.library.
- IBM and Atari for create so bad computers, making very easy my choosing
for the Amiga.
CONTACTS
If you have some kind of information about the MIDI standard, different
sample formats or any other interesting information related with the program
then please send it to me to the address below. Anyway, if you use the program
please let me know, because I would like to know if anyone is using it and in
what MIDI devices the program works well, or not so well.
For sending suggestions, bugs, information interchange, etc., contact me at
the following address:
Antonio J. Pomar Rosselló
C/ Alférez Cerdá nº 13-bajos
Palma de Mallorca 07014
Baleares (Spain)
Palma de Mallorca (Palma of Majorca) 24-November-1993
NOTE: my knowledge of English is VERY limited, and this text is a good
sample of this fact. Moreover, this DOC was wrote, in a hurry, based in the
Spanish version. If you know Spanish, I recommend you to read the Spanish
version of this DOC. Its much more detailed and accurate.